package com.ruoyi.personnel.service;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.personnel.domain.ReserveInformation;
import com.ruoyi.personnel.vo.OpenIdVO;
import com.ruoyi.personnel.vo.ReserveInformationVO;
import com.ruoyi.personnel.vo.StatusAndOpenIdVO;

import java.util.List;

/**
 * 预约信息Service接口
 *
 * @author hyj
 * @date 2020-02-28
 */
public interface IReserveInformationService {
    int saveReserveInformationService(ReserveInformationVO userRegisterVO);
    /**
     * 查询预约信息
     *
     * @param id 预约信息ID
     * @return 预约信息
     */
    public ReserveInformation selectReserveInformationById(Long id);
    public AjaxResult selectReserveInformationByIdToAjaxResult(Long id);

    /**
     * 查询预约信息列表
     *
     * @param reserveInformation 预约信息
     * @return 预约信息集合
     */
    public List<ReserveInformation> selectReserveInformationList(ReserveInformation reserveInformation);

    public List<ReserveInformationVO> selectReserveInformationList(StatusAndOpenIdVO statusAndOpenIdVO);
    /**
     * 新增预约信息
     *
     * @param reserveInformation 预约信息
     * @return 结果
     */
    public int insertReserveInformation(ReserveInformation reserveInformation);

    /**
     * 修改预约信息
     *
     * @param reserveInformation 预约信息
     * @return 结果
     */
    public int updateReserveInformation(ReserveInformation reserveInformation);
    public int updateReserveInformation(StatusAndOpenIdVO statusAndOpenIdVO);

    public int updateReserveInformation(ReserveInformationVO reserveInformationVO);

    /**
     * 批量删除预约信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    public int deleteReserveInformationByIds(String ids);

    /**
     * 删除预约信息信息
     *
     * @param id 预约信息ID
     * @return 结果
     */
    public int deleteReserveInformationById(Long id);

    /**
     * 根据openId查询来访（预约）记录
     * @param openId
     * @return
     */
    List<ReserveInformation> selectExamineByOpenId(String openId);
}
